package br.com.iplant.dao;

import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;

import br.com.iplant.util.Conexao;
import br.com.iplant.vo.Doenca;
import br.com.iplant.vo.Fornecedor;
import br.com.iplant.vo.Variedade;


public class FornecedorDAO {
	public String salvar(Fornecedor fornecedor) {
		try {

			String sql = "insert into fornecedores(nome,descricao,cnpj,inscricaoEstadual,endereco,cidade," +
					"uf,cep,qtdProdFornec,pzPagto,pzEntrega,valorFrete,situacao,contato1,telefone1,email1," +
					"contato2,telefone2,email2,contato3telefone3,email3,contato4,telefone4,email4) " +
					"values" +
					"(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
					
			
			PreparedStatement ps = Conexao.getCon().prepareStatement(sql);
			ps.setString(1, fornecedor.getNome());
			ps.setString(2, fornecedor.getDescricao());
			ps.setString(3, fornecedor.getCnpj());
			ps.setString(4, fornecedor.getInscricaoEstadual());
			ps.setString(5, fornecedor.getEndereco());
			ps.setString(6, fornecedor.getCidade());
			ps.setString(7, fornecedor.getUf());
			ps.setString(8, fornecedor.getCep());
			ps.setInt(9, fornecedor.getQtdProdFornec());
			ps.setInt(10, fornecedor.getPzPagto());
			ps.setInt(11, fornecedor.getPzEntrega());
			ps.setDouble(12, fornecedor.getValorFrete());
			ps.setString(13, fornecedor.getSituacao());
			ps.setString(14, fornecedor.getContato1());
			ps.setString(15, fornecedor.getTelefone1());
			ps.setString(16, fornecedor.getEmail1());			
			ps.setString(17, fornecedor.getContato2());
			ps.setString(18, fornecedor.getTelefone2());
			ps.setString(19, fornecedor.getEmail2());			
			ps.setString(20, fornecedor.getContato3());
			ps.setString(21, fornecedor.getTelefone3());
			ps.setString(22, fornecedor.getEmail3());			
			ps.setString(23, fornecedor.getContato4());
			ps.setString(24, fornecedor.getTelefone4());
			ps.setString(25, fornecedor.getEmail4());
			
			ps.execute();

			System.out.println("Gravado!");
			ps.close();

		} catch (SQLException e) {
			e.printStackTrace();
		}
		return "" + fornecedor;
	}

	public List<Fornecedor> getTodasOsFornecedores() {
		List<Fornecedor> fornecedores = new ArrayList<Fornecedor>();
		try {
			String sql = "select * from fornecedores";
			Statement ps = Conexao.getCon().createStatement();
			ResultSet rs = ps.executeQuery(sql);
			while (rs.next()) {
				fornecedores.add(new Fornecedor(rs.getInt("fornecedor_id"), rs.getString("nome"),rs.getString("descricao"), rs.getString("cnpj"),
						rs.getString("inscricaoEstadual"),rs.getString("endereco"),rs.getString("cidade"),
						rs.getString("uf"),rs.getString("cep"),rs.getInt("qtdProdFornec"),rs.getInt("pzPagto"),rs.getInt("paEntrega"),
						rs.getDouble("valorFrete"),rs.getString("situacao"),rs.getString("contato1"),rs.getString("telefone1"),
						rs.getString("email1"),rs.getString("contato2"),rs.getString("telefone2"),
						rs.getString("email2"),rs.getString("contato3"),rs.getString("telefone3"),
						rs.getString("email3"),rs.getString("contato4"),rs.getString("telefone4"),
						rs.getString("email4")));
			}

			ps.close();
		} catch (SQLException e) {
			e.printStackTrace();
		}
		return fornecedores;
	}
}
